

public class PolymorphismExample {
//    测试多态的类
    public static void main(String[] args) {
//        使用接口引用来指向的实现类对象
        AnimalBehavior dog = new Dog();
        AnimalBehavior  cat = new Cat();
//        调用接口，实际的实现类会根据调用的方法来决定调用哪个方法
        dog.makeSound();
        cat.makeSound();
//
        playWithAnimal(dog);

        playWithAnimal(cat);

    }
    public static void playWithAnimal(AnimalBehavior animal)
    {
        System.out.println("Playing with an animal"+animal.getClass().getSimpleName().toLowerCase()+"this says");
        animal.makeSound();
    }
}
